﻿using System;
using System.Windows;
using Dsl.Ped.Framework.Common;

namespace Dsl.Ped.Framework.Projections.ConstantProjections
{
    /// <summary>
    /// Interface that must be implemented by any constant-based projeciton hints
    /// </summary>
    /// <typeparam name="T">Type representing the projection (TextBox, Label, etc.)</typeparam>
    public interface IConstantProjectionHint<T> : IProjectionHint<T>
        where T : FrameworkElement, new()
    {
        /// <summary>
        /// Type representing the projection
        /// </summary>
        Type ProjectionType { get; }

        /// <summary>
        /// <see cref="DependencyProperty"/> that can be bound into the projection
        /// </summary>
        DependencyProperty ValueProperty { get; }
    }
}
